1. Field of Description
The present disclosure relates, in general, to computer-implemented methods for providing audio-visual communications or media transport between two or more computer or electronics devices or two or more client applications, and, more particularly, to improved methods and systems for facilitating media transport including Voice over Internet Protocol (VoIP) communications between a client device utilizing a standards-based application and a client device utilizing a proprietary or non-standards-based application.
2. Relevant Background
Voice over Internet Protocol (VoIP) is a general term for a group of transmission technologies for delivery of voice communications over IP networks such as the Internet or other packet-switched networks. Internet telephony including VoIP communications refer to communications services such as voice, facsimile, video streams, and voice-messaging applications that are transported via the Internet rather than over the more conventional public switched telephone network. The basic steps involved in originating an Internet telephone call are conversion of the analog voice signal to digital format and compression/translation of the signal into IP packets for transmission over the Internet, with the process being reversed at the receiving end. VoIP systems may employ session control protocols to control the set-up and tear-down of calls as well as audio codecs that encode speech allowing transmission over an IP network as digital audio via an audio stream.
Communicating using VoIP may be inexpensive or substantially free for the parties of a communication or a VoIP call, and this has led to a demand by consumers for VoIP or similar capabilities on their client devices. For example, consumers are beginning to demand that nearly every client device that is able to access an IP network such as the Internet also be able to support all audio-visual communications including VoIP communications. Unfortunately, while a number of standard protocols have been developed for supporting VoIP communications (e.g., session initiation protocol (SIP) for signaling and real-time transport protocol (RTP) for media transport), many client devices run media players and other client applications that use proprietary (or non-standards-based) applications for audio-visual communications and processing of received/transmitted communications. For example, Skype® and similar standalone VoIP applications may utilize proprietary technologies and may require substantial downloads on Microsoft Windows®, Apple® Mac, Unix®, and the like.
SIP is widely used over the Internet for voice and video calls between client devices or client applications. SIP is considered a standard signaling protocol by many major infrastructure, telecommunications, and cable companies for controlling multimedia communication sessions, e.g., for signaling control of video conferencing, streaming multimedia distribution, instant messaging, presence information, and online games. SIP is typically used for creating, modifying, and terminating multiparty sessions made up of one or several media streams. Extensible messaging and presence protocol (XMPP) is another signaling protocol often used for instant messaging and presence, and other standard signaling protocols may be used for voice communications. VoIP standard protocols or standards may also include protocols such as RTP and RTSP (Real Time Streaming Protocol) and non-real time streaming protocols that are used to define standardized packet formats for delivering audio and video over the Internet (e.g., to handle streaming media or media transport such as IP telephony communications and video teleconference applications).
While there is a wealth of open source and commercial software available for SIP, RTP, and other standards-based VoIP communications, each of these communications techniques require software installation on each client device. Today, client devices typically include applications such as Adobe System Incorporated's Flash Player and similar media players for allowing a client device to receive and transmit audio-visual communications (or provide media transport including media streaming at the client device) over communications networks such as the Internet. For example, the Adobe Flash Player is software for viewing animations and movies using computer programs such as a web browser and is a widely distributed proprietary multimedia and application player. Typically, Adobe® Flash Player is an application execution environment that is implemented in native code (e.g., as a plugin to a web browser) and may be thought of as the virtual machine that is used to run often used Flash® files and otherwise provide bidirectional streaming of video and audio. However, many such client applications utilize proprietary codecs or software and network protocols such that they have a closed nature. In other words, voice codecs and network protocols that are proprietary may make it difficult or impossible for a first client device to communicate with a second client device that implements VoIP communications in a standards-based manner. Efforts to allow proprietary client devices and/or applications to communicate VoIP have not been widely adopted and have generally involved providing addition software or applications that have to be run on each client or as part of each client's media player.